/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.manageBean;

import br.com.beans.Documentos;
import br.com.beans.EnderecoCadastro;
import br.com.beans.Imagens;
import br.com.beans.Login;
import br.com.beans.Pessoa;
import br.com.genericInterface.dao.PessoaDAOImple;
import br.com.util.ConsultarEndereco;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.primefaces.event.FileUploadEvent;

/**
 *
 * @author Daniel
 */
@ManagedBean
@ViewScoped
public class PessoaMB implements Serializable{
    
    private Pessoa pessoa = new Pessoa();
    private Documentos doc = new Documentos();
    private EnderecoCadastro endereco = new EnderecoCadastro();
    private List<Imagens> imgs = new ArrayList<>(); 
    private Login login = new Login();
    

    public PessoaMB() {
    }
    
    public void testeSalvar()
    {
        pessoa.setDocumentos(doc);
        pessoa.setEndereco(endereco);
        pessoa.setLogin(login);
        new PessoaDAOImple().save(pessoa);
    }   
    
    public EnderecoCadastro consultarEndereco()
    {
        endereco = new ConsultarEndereco().ColsultaEndereco(endereco.getCep());
        
        return endereco;
    }
    
    public void handleFileUpload(FileUploadEvent event) throws IOException {
        
        String nome = event.getFile().getFileName();
        InputStream io = event.getFile().getInputstream();
        
        Imagens img = new Imagens();
        img.setNome(nome);
        img.setPessoa(pessoa);
        img.setImg(event.getFile().getContents());
        
        imgs.add(img);     
           
        
        FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");  
        FacesContext.getCurrentInstance().addMessage(null, msg);
        
    }
        
    public Pessoa getPessoa() {
        return pessoa;
    }

    public void setPessoa(Pessoa pessoa) {
        this.pessoa = pessoa;
    }

    public void setDoc(Documentos doc) {
        this.doc = doc;
    }

    public Documentos getDoc() {
        return doc;
    }

    public EnderecoCadastro getEndereco() {
        
        return endereco;
    }

    public void setEndereco(EnderecoCadastro endereco) {
        this.endereco = endereco;
    }

    public List<Imagens> getImgs() {
        return imgs;
    }

    public void setImgs(List<Imagens> imgs) {
        this.imgs = imgs;
    }

    public Login getLogin() {
        return login;
    }

    public void setLogin(Login login) {
        this.login = login;
    }
}